package hr.service;

import hr.entity.Department;
import com.baomidou.mybatisplus.extension.service.IService;
import hr.entity.Position;
import hr.entity.vo.*;
import hr.entity.vo.request.AddNewDepartmentVo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 部门信息表 服务类
 * </p>
 *
 * @author zzh
 * @since 2023-12-04
 */
public interface DepartmentsService extends IService<Department> {

    List<?> selectAllDepartments(ObtainDepartment obtainDepartment)throws Exception;

    ObtainDepartment getPagingInformation(ObtainDepartment obtainDepartment);

    Department deleteDepartmentById(Integer departmentId) throws Exception;

    List<?> getDepartmentRelationshipMap();

    Department addNewDepartment(AddNewDepartmentVo addNewDepartmentVo) throws Exception;

    List<?> getDepartmentHead();

    Department updateDepartment(UpdateDepartmentVo vo) throws Exception;

    List<Position> obtainJobPositionsByDepartmentId(ObtainJobPositionsByDepartmentIdVo vo);

    Paging handleUpdateDepartmentPage(ObtainJobPositionsByDepartmentIdVo vo) throws Exception;

    Map<String, Object> handleDepartmentsPositionAndPeople();

}
